package dominio.hospedagem;

import java.util.List;

import dominio.Fabrica;
import dominio.cliente.Cliente;
import dominio.cliente.ClienteServico;
import dominio.quarto.Quarto;
import dominio.quarto.QuartoServico;

public class HospedagemServico {
	
	private ClienteServico clienteServico;
	private QuartoServico quartoServico;

	public HospedagemServico() {
	}
	
	public HospedagemServico(ClienteServico clienteServico,
			QuartoServico quartoServico) {
		this.clienteServico = clienteServico;
		this.quartoServico = quartoServico;
	}

	//Seria o checkIn
	public void entrada(String cpfCliente, Integer numeroQuarto) {
		Cliente cliente = clienteServico.obter(cpfCliente);
		Quarto quarto = quartoServico.obter(numeroQuarto);
		Hospedagem hospedagem = Fabrica.HOSPEDAGEM.criar(cliente, quarto);
		hospedagem.entrada();
	}

	//Seria o checkOut
	public void saida(Integer numeroQuarto) {
		Quarto quarto = quartoServico.obter(numeroQuarto);
		quarto.tornarDisponivel();
		Hospedagem hospedagem = Fabrica.HOSPEDAGEM_REPOSITORIO.obter(numeroQuarto);
		hospedagem.saida();
	}

	public List<Hospedagem> listar() {
		return Fabrica.HOSPEDAGEM_REPOSITORIO.listar();
	}
}